001 /** 002 * Created by IntelliJ IDEA. 003 * User: Wei Wang 004 * Date: Apr 2, 2003 005 * Time: 7:54:26 PM 006 */ 007 008 package EVolve.util.settings; 009 010 import EVolve.Scene; 011 import javax.swing.*; 012 import java.io.*; 013 014 public abstract class Setting { 015 protected String iniFilename; 016 protected String tags[]; 017 protected JTextField contents[]; 018 protected JDialog dialog; 019 020 protected String getFilenameWithPath(String name) { 021 boolean isRunningUnderWindows = System.getProperty("os.name").startsWith("Windows"); 022 String userHome = System.getProperty("user.home"); 023 String configFile = null; 024 if (userHome == null || userHome.trim().equals("")) { 025 // Fall back to current directory if undefined 026 userHome = "."; 027 } 028 029 if (!userHome.endsWith(String.valueOf(Character.toString(File.separatorChar)))) { 030 userHome += File.separatorChar; 031 } 032 033 if (isRunningUnderWindows) { 034 configFile = name + ".ini"; 035 } else { 036 configFile = "." + name; 037 } 038 return userHome + configFile; 039 } 040 041 protected void save() { 042 try { 043 FileWriter writer = new FileWriter(iniFilename); 044 for (int i=0; i<tags.length; i++) { 045 writer.write(tags[i]+"\n"); 046 writer.write(contents[i].getText()+"\n"); 047 048 } 049 writer.flush(); 050 writer.close(); 051 } catch (IOException e) { 052 Scene.showErrorMessage("Unable to update file "+iniFilename); 053 } 054 } 055 }